package demo1216.am;

import java.util.Arrays;

/*
String类中的方法:
1.public boolean matches(String regex);
告知此字符串是否匹配给定的正则表达式。匹配返回true.

正则表达式:
例如：
 ——正则表达式："[a-z]"表示a到z的任意一个字符。
 ——正则表达式："[a-z]+"表示由1个或多个a-z字符组成的字符串；

 正则表达式          说明
 [abc]             表示的是a,b或者c中的任意一个字符
 [^abc]            表示的是除了a,b,c中的任意一个字符
 [a-z]             表示的是a到z中的任意一个字符
 [a-zA-Z0-9]       表达的是a到z或者A到Z或0到9中的任意一个字符.
 [a-z&&[^bc]]      表示的是a到z中除了b,c以外的任意一个字符

预定义字符集
正则表达式           说明
.                   表示任意一个字符
\d                  表示的是0-9中的任意一个字符
\w                  表示的是[a-zA-Z0-9_]中的任意一个字符
\s                  表示的是空白字符.
\D                  表示的是非数字字符
\W                  表示的是除了[a-zA-Z0-9_]中的任意一个字符
\S                  表示的是非空白字符

数量词
正则表达式            说明
X?                   0或者1个正则表达式X
X*                   表示的是大于等于0个X
X+                   表示的是大于等于1个X
X{n}                 表示的是n个X
X{n,}                表示的是大于等于n个X
X{n,m}               表示的是n到m个X
 */
public class Demo_01 {
    public static void main(String[] args) {
        String regex = "\\d{6}";
        System.out.println("123456".matches(regex));
    }

    public static void demo03() {
        String s = "boo and foe";
        String[] arr = s.split("[ ]");
        System.out.println(Arrays.toString(arr));
    }

    public static void dmeo02() {
        String regex = "\\d{6}";
        System.out.println("1".matches(regex));
    }

    public static void demo02() {
        String regex = "[0-9][0-9][0-9][0-9][0-9][0-9]";
//        邮政编码  6位数的数字组成
        String code = "30023w";
        System.out.println(code.matches(regex));
    }

    public static void dmeo01() {
        String regex = "[a-z][a-z]";
        boolean b = "a1".matches(regex);
        System.out.println(b);
    }
}
